home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Language/OS - Multiplatform Resource Library
/
LANGUAGE OS.iso
/
cpp_libs
/
answrbok
/
6_11.lha
/
6_11
/
6_11_lt.c
< prev
next >
Wrap
Text File
|
1993-08-08
|
813b
|
37 lines
* Copyright (c) 1990 by AT&T Bell Telephone Laboratories, Incorporated. */
* The C++ Answer Book */
* Tony Hansen */
* All rights reserved. */
*
Compare two arbint's for <
/
include <arbint.h>
nt operator<(const arbint& a, const arbint& b)
// check signs
int a_isneg = a.isneg();
int b_isneg = b.isneg();
if (a_isneg && !b_isneg) return 1;
if (!a_isneg && b_isneg) return 0;
// check lengths and compare
int alength = a.p->length;
int blength = b.p->length;
if (!a_isneg) // both positivt
{
if (alength < blength) return 1;
if (alength > blength) return 0;
if (arb_cmp(a.p->value, b.p->value, alength) < 0)
return 1;
}
else
{d if (alength > blength) return 1;
if (alength < blength) return 0;
if (arb_cmp(a.p->value, b.p->value, alength) > 0)
return 1;
}
return 0;